home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 …SCII & the Runetime Code / ADC Developer CD (1992-07) (''Butch ASCII And The Runtime Code'')_iso / Dev.CD 199207.iso / Developer Essentials / DTS Sample Code / System 7.0 Samples / DTS.Utilities / GestaltEqu.p < prev    next >
Encoding:
Text File  |  1991-01-30  |  10.6 KB  |  279 lines  |  [TEXT/MPS ]

  1. {
  2. Created: Friday, October 20, 1989 at 5:12 AM
  3.     GestaltEqu.p
  4.     Pascal Interface to the Macintosh Libraries
  5.  
  6.     Copyright Apple Computer, Inc.    1989-1990
  7.     All rights reserved
  8. }
  9.  
  10.  
  11. {$IFC UNDEFINED UsingIncludes}
  12. {$SETC UsingIncludes := 0}
  13. {$ENDC}
  14.  
  15. {$IFC NOT UsingIncludes}
  16.     UNIT GestaltEqu;
  17.     INTERFACE
  18. {$ENDC}
  19.  
  20. {$IFC UNDEFINED UsingGestaltEqu}
  21. {$SETC UsingGestaltEqu := 1}
  22.  
  23. {$I+}
  24. {$SETC GestaltEquIncludes := UsingIncludes}
  25. {$SETC UsingIncludes := 1}
  26. {$IFC UNDEFINED UsingTypes}
  27. {$I $$Shell(PInterfaces)Types.p}
  28. {$ENDC}
  29. {$SETC UsingIncludes := GestaltEquIncludes}
  30.  
  31. CONST
  32. {***********************
  33.  *    Gestalt error codes
  34.  ***********************}
  35.     gestaltUnknownErr            = -5550;            { value returned if Gestalt doesn't know the answer }
  36.     gestaltUndefSelectorErr     = -5551;            { undefined selector was passed to Gestalt }
  37.     gestaltDupSelectorErr        = -5552;            { tried to add an entry that already existed }
  38.     gestaltLocationErr            = -5553;            { gestalt function ptr wasn't in sysheap }
  39.     
  40. {*************************
  41.  *    Environment Selectors
  42.  *************************}
  43.     gestaltVersion                = 'vers';            { gestalt version }
  44.  
  45.     gestaltAddressingModeAttr    = 'addr';            { addressing mode attributes }
  46.     gestalt32BitAddressing        = 0;                { using 32-bit addressing mode }
  47.     gestalt32BitSysZone         = 1;                { 32-bit compatible system zone }
  48.     gestalt32BitCapable         = 2;                { Machine is 32-bit capable }
  49.  
  50.     gestaltAliasMgrAttr         = 'alis';            { Alias Mgr Attributes }
  51.     gestaltAliasMgrPresent        = 0;                { True if the Alias Mgr is present }
  52.  
  53.     gestaltAppleTalkVersion     = 'atlk';            { appletalk version }
  54.  
  55.     gestaltAUXVersion            = 'a/ux';            { a/ux version, if present }
  56.  
  57.     gestaltConnMgrAttr            = 'conn';             { connection mgr attributes    }
  58.     gestaltConnMgrPresent        = 0;
  59.     gestaltConnMgrCMSearchFix    = 1;                 { do we have fix to CMAddSearch?    }
  60.     
  61.     gestaltCRMAttr                = 'crm ';            { comm resource mgr attributes        }
  62.     gestaltCRMPresent            = 0;
  63.     
  64.     gestaltCTBVersion            = 'ctbv';            { CommToolbox version }
  65.  
  66.     gestaltDBAccessMgrAttr        = 'dbac';            { Database Access Mgr attributes }
  67.     gestaltDBAccessMgrPresent    = 0;                { True if the Database Access Mgr present }
  68.  
  69.     gestaltDITLExtAttr            = 'ditl';             { AppenDITL, etc. calls from CTB }
  70.     gestaltDITLExtPresent        = 0;                 { True if calls are present }
  71.  
  72.     gestaltEasyAccessAttr        = 'easy';            { Easy Access attributes }
  73.     gestaltEasyAccessOff        = 0;                { if Easy Access present, but off (no icon) }
  74.     gestaltEasyAccessOn            = 1;                 { if Easy Access "On" }
  75.     gestaltEasyAccessSticky        = 2;                { if Easy Access "Sticky" }
  76.     gestaltEasyAccessLocked        = 3;                { if Easy Access "Locked" }
  77.     
  78.     gestaltEditionMgrAttr        = 'edtn';            { Edition Mgr attributes }
  79.     gestaltEditionMgrPresent    = 0;                { True if Edition Mgr present }
  80.  
  81.     gestaltAppleEventsAttr        = 'evnt';            { Apple Events attributes }
  82.     gestaltAppleEventsPresent    = 0;                { True if Apple Events present }
  83.  
  84.     gestaltFindFolderAttr        = 'fold';            { FindFolder attributes }
  85.     gestaltFindFolderPresent     = 0;                { True if FindFolder present }
  86.  
  87.     gestaltFontMgrAttr            = 'font';            { Font Mgr attributes }
  88.     gestaltOutlineFonts         = 0;                { True if the Font Mgr supported }
  89.  
  90.     gestaltFPUType                = 'fpu ';            { Fpu type }
  91.     gestaltNoFPU                = 0;                { no FPU }
  92.     gestalt68881                = 1;                { 68881 FPU }
  93.     gestalt68882                = 2;                { 68882 FPU }
  94.     gestalt68040FPU                = 3;                { 68040 built-in FPU }
  95.     
  96.     gestaltFSAttr                = 'fs  ';            { file system attributes }
  97.     gestaltFullExtFSDispatching    = 0;                { has really cool new HFSDispatch dispatcher }
  98.  
  99.     gestaltFXfrMgrAttr            = 'fxfr';             { file transfer manager attributes    }
  100.     gestaltFXfrMgrPresent        = 0;
  101.  
  102.     gestaltHardwareAttr         = 'hdwr';            { hardware attributes }
  103.     gestaltHasVIA1                = 0;                { VIA1 exists }
  104.     gestaltHasVIA2                = 1;                { VIA2 exists }
  105.     gestaltHasASC                = 3;                { Apple Sound Chip exists }
  106.     gestaltHasSCC                = 4;                { SCC exists }
  107.     gestaltHasSCSI                = 7;                { SCSI exists }
  108.  
  109.     gestaltHelpMgrAttr            = 'help';            { Help Mgr Attributes }
  110.     gestaltHelpMgrPresent        = 0;                { true if help mgr is present }
  111.  
  112.     gestaltKeyboardType         = 'kbd ';            { keyboard type }
  113.     gestaltMacKbd                = 1;
  114.     gestaltMacAndPad            = 2;
  115.     gestaltMacPlusKbd            = 3;
  116.     gestaltExtADBKbd            = 4;
  117.     gestaltStdADBKbd            = 5;
  118.     gestaltPrtblADBKbd            = 6;
  119.     gestaltPrtblISOKbd            = 7;
  120.     gestaltStdISOADBKbd         = 8;
  121.     gestaltExtISOADBKbd         = 9;
  122.     gestaltElmerKbd                = 10;
  123.     gestaltElmerISOKbd            = 11;
  124.  
  125.     gestaltLowMemorySize        = 'lmem';            { size of low memory area }
  126.  
  127.     gestaltLogicalRAMSize        = 'lram';            { logical ram size }
  128.  
  129.     gestaltMiscAttr                = 'misc';            { miscellaneous information }
  130.     gestaltScrollingThrottle    = 0;                 { true if scrolling throttle on }
  131.     gestaltSquareMenuBar        = 2;                { true if menu bar is square }
  132.  
  133.     gestaltMMUType                = 'mmu ';            { mmu type }
  134.     gestaltNoMMU                = 0;                { no MMU }
  135.     gestaltAMU                    = 1;                { address management unit }
  136.     gestalt68851                = 2;                { 68851 PMMU }
  137.     gestalt68030MMU             = 3;                { 68030 built-in MMU }
  138.     gestalt68040MMU                = 4;                { 68040 built-in MMU }
  139.  
  140.     gestaltStdNBPAttr            = 'nlup';             { standard nbp attributes    }
  141.     gestaltStdNBPPresent        = 0;
  142.  
  143.     gestaltNotificationMgrAttr    = 'nmgr';           { notification manager attributes }
  144.     gestaltNotificationPresent    = 0;                   { notification manager exists }
  145.  
  146.     gestaltNuBusConnectors        = 'sltc';            { bitmap of NuBus connectors    <19> }
  147.  
  148.     gestaltOSAttr                = 'os  ';            { o/s attributes }
  149.     gestaltSysZoneGrowable        = 0;                { system heap is growable }
  150.     gestaltLaunchCanReturn        = 1;                { can return from launch }
  151.     gestaltLaunchFullFileSpec    = 2;                { can launch from full file spec }
  152.     gestaltLaunchControl        = 3;                { launch control support available }
  153.     gestaltTempMemSupport        = 4;                { temp memory support }
  154.     gestaltRealTempMemory        = 5;                { temp memory handles are real }
  155.     gestaltTempMemTracked        = 6;                { temporary memory handles are tracked }
  156.     gestaltIPCSupport            = 7;                { IPC support is present }
  157.     gestaltSysDebuggerSupport    = 8;                { system debugger support is present }
  158.  
  159.     gestaltOSTable                = 'ostt';            { OS trap table base               <18> }
  160.     gestaltToolboxTable            = 'tbtt';            { Toolbox trap table base          <18> }
  161.     gestaltExtToolboxTable        = 'xttt';            { Extended Toolbox trap table base <18> }
  162.     
  163.     gestaltLogicalPageSize        = 'pgsz';            { logical page size }
  164.  
  165.     gestaltPowerMgrAttr         = 'powr';            { power manager attributes }
  166.     gestaltPMgrExists            = 0;
  167.     gestaltPMgrCPUIdle            = 1;
  168.     gestaltPMgrSCC                = 2;
  169.     gestaltPMgrSound            = 3;
  170.  
  171.     gestaltPPCToolboxAttr        = 'ppc ';            { PPC toolbox attributes }
  172.     {
  173.           PPC will return the combination of following bit fields.
  174.           e.g. gestaltPPCSupportsRealTime +gestaltPPCSupportsIncomming + gestaltPPCSupportsOutGoing
  175.           indicates PPC is cuurently is only supports real time delivery
  176.         and both icoming and outgoing network sessions are allowed.
  177.         By default local real time delivery is supported as long as PPCInit has been called.
  178.     }
  179.     gestaltPPCToolboxPresent            = $0000; { PPC Toolbox is present  Requires PPCInit to be called }
  180.     gestaltPPCSupportsRealTime            = $1000; { PPC Supports real-time delivery }
  181.     gestaltPPCSupportsStoreAndForward    = $2000; { PPC store and forward delivery }
  182.     gestaltPPCSupportsDontCare            = $4000; {PPC Supports  Specification of Don't care }
  183.     gestaltPPCSupportsIncomming            = $0001; { PPC will deny incomming network requests }
  184.     gestaltPPCSupportsOutGoing            = $0002; {PPC will deny outgoing network requests}
  185.  
  186.     gestaltProcessorType        = 'proc';            { processor type }
  187.     gestalt68000                = 1;
  188.     gestalt68010                = 2;
  189.     gestalt68020                = 3;
  190.     gestalt68030                = 4;
  191.     gestalt68040                = 5;
  192.  
  193.     gestaltParityAttr            = 'prty';            { parity attributes }
  194.     gestaltHasParityCapability    = 0;                { has ability to check parity }
  195.     gestaltParityEnabled        = 1;                { parity checking enabled }
  196.  
  197.     gestaltQuickdrawVersion     = 'qd  ';            { quickdraw version }
  198.     gestaltOriginalQD            = $000;             { original 1-bit QD }
  199.     gestalt8BitQD                = $100;             { 8-bit color QD }
  200.     gestalt32BitQD                = $200;             { 32-bit color QD }
  201.  
  202.     gestaltPhysicalRAMSize        = 'ram ';            { physical RAM size }
  203.     
  204.     gestaltPopupAttr            = 'pop!';             { popup cdef attributes    }
  205.     gestaltPopupPresent            = 0;
  206.  
  207.     gestaltResourceMgrAttr        = 'rsrc';            { Resource Mgr attributes }
  208.     gestaltPartialRsrcs         = 0;                { True if partial resources exist }
  209.  
  210.     gestaltScriptMgrVersion     = 'scri';            { Script Manager version number }
  211.     gestaltScriptCount            = 'scr#';            { number of active script systems }
  212.  
  213.     gestaltSerialAttr            = 'ser ';            { serial attributes                        <19> }
  214.     gestaltHasGPIaToDCDa        = 0;                { GPIa connected to DCDa                <19> }
  215.     gestaltHasGPIaToRTxCa        = 1;                { GPIa connected to RTxCa clock input     <19> }
  216.     gestaltHasGPIbToDCDb        = 2;                { GPIb connected to DCDb                <19> }
  217.     
  218.     gestaltSoundAttr            = 'snd ';            { sound attributes }
  219.     gestaltStereoCapability     = 0;                { sound hardware has stereo capability }
  220.     gestaltStereoMixing         = 1;                { stereo mixing on external speaker }
  221.     gestaltSoundIOMgrPresent     = 3;                { The Sound I/O Manager is present  }
  222.     gestaltSoundInputPresent     = 4;                { Sound Input hardware is present  }
  223.  
  224.     gestaltStandardFileAttr        = 'stdf';            { Standard File attributes }
  225.     gestaltStandardFile58        = 0;                 { True if selectors 5-8 (StandardPutFile-CustomGetFile) are supported }
  226.  
  227.     gestaltTextEditVersion        = 'te  ';            { TextEdit version number }
  228.     gestaltTE1                    = 1;                { TextEdit in MacIIci ROM }
  229.     gestaltTE2                    = 2;                { TextEdit with 6.0.4 Script Systems on MacIIci (Script bug fixes for MacIIci) }
  230.     gestaltTE3                    = 3;                { TextEdit with 6.0.4 Script Systems all but MacIIci (for MacII, MacSE, Mac+) }
  231.     gestaltTE4                    = 4;                { TextEdit in 7.0 }
  232.     
  233.     gestaltTermMgrAttr            = 'term';            { terminal mgr attributes    }
  234.     gestaltTermMgrPresent        = 0;
  235.  
  236.     gestaltTimeMgrVersion        = 'tmgr';            { time mgr version }
  237.     gestaltStandardTimeMgr        = 1;                { standard time mgr is present }
  238.     gestaltRevisedTimeMgr        = 2;                { revised time mgr is present }
  239.     gestaltExtendedTimeMgr        = 3;                { extended time mgr is present }
  240.  
  241.     gestaltVMAttr                = 'vm  ';            { virtual memory attributes }
  242.     gestaltVMPresent            = 0;                { true if virtual memory present }
  243.  
  244. {************************
  245.  *    Info-only selectors
  246.  ***********************}
  247.     gestaltMachineType            = 'mach';            { machine type }
  248.     gestaltClassic                = 1;
  249.     gestaltMacXL                = 2;
  250.     gestaltMac512KE             = 3;
  251.     gestaltMacPlus                = 4;
  252.     gestaltMacSE                = 5;
  253.     gestaltMacII                = 6;
  254.     gestaltMacIIx                = 7;
  255.     gestaltMacIIcx                = 8;
  256.     gestaltMacSE030             = 9;
  257.     gestaltPortable             = 10;
  258.     gestaltMacIIci                = 11;
  259.     gestaltMacIIfx                = 13;
  260.     gestaltMacClassic            = 17;
  261.     gestaltMacIIsi                = 18;
  262.     gestaltMacLC                = 19;
  263.  
  264.     gestaltMachineIcon            = 'micn';            { machine icon }
  265.  
  266.     gestaltROMSize                = 'rom ';            { rom size }
  267.     gestaltROMVersion            = 'romv';            { rom version }
  268.     gestaltSystemVersion        = 'sysv';            { system version}
  269.  
  270. FUNCTION Gestalt(selector : OSType; VAR response : LONGINT) : OSErr;
  271. FUNCTION NewGestalt(selector : OSType; gestaltFunction : ProcPtr) : OSErr;
  272. FUNCTION ReplaceGestalt(selector : OSType; gestaltFunction : ProcPtr; VAR oldGestaltFunction : ProcPtr) : OSErr;
  273.  
  274. {$ENDC}    { UsingGestaltEqu }
  275.  
  276. {$IFC NOT UsingIncludes}
  277.     END.
  278. {$ENDC}
  279.